#include "testPosRelativas.h"
#include "../RTT/PosRelativas.h"
#include "testTools.h"

#include <stdlib.h>  
#include <iostream>
#include <vector>

using namespace std;

void testPosRel()
{
	PosRelativas* terminos = new PosRelativas("terminos.bin",true);

	vector<int> recuperador1,recuperador2,recuperador3,recuperador4;

	vector<int> elementos1;
	elementos1.push_back(1);
	elementos1.push_back(5);
	elementos1.push_back(3);
	elementos1.push_back(2);

	vector<int> elementos2;
	elementos2.push_back(33);
	elementos2.push_back(22);
	elementos2.push_back(11);

	vector<int> elementos3;
	elementos3.push_back(666);

	vector<int> elementos4;

	cout << "\n\ntest arch pos rel: ";
	cout << "\n\nPruebo guardar terminos: ";

	size_t id1 = terminos->agregar(&elementos1);
	size_t id2 = terminos->agregar(&elementos2);
	size_t id3 = terminos->agregar(&elementos3);
	size_t id4 = terminos->agregar(&elementos4);

	imprimirSelectivo("\nguardo primer termino: \t\t",(id1==1));
	imprimirSelectivo("\nguardo segundo termino:\t\t",(id2==2));
	imprimirSelectivo("\nguardo tercer termino: \t\t",(id3==3));
	imprimirSelectivo("\nguardo cuarto termino: \t\t",(id4==4));

	cout << "\n\nrecupero los terminos agregados: ";
	
	terminos->devolver(&recuperador1,id1);
	terminos->devolver(&recuperador2,id2);
	terminos->devolver(&recuperador3,id3);
	terminos->devolver(&recuperador4,id4);

	imprimirSelectivo("\nguardo primer termino: \t\t",sonIguales(&recuperador1,&elementos1));
	imprimirSelectivo("\nguardo segundo termino:\t\t",sonIguales(&recuperador2,&elementos2));
	imprimirSelectivo("\nguardo tercer termino: \t\t",sonIguales(&recuperador3,&elementos3));
	imprimirSelectivo("\nguardo cuarto termino: \t\t",sonIguales(&recuperador4,&elementos4));

	size_t cant = terminos->obtenerCantidadDeElementos();
	imprimirSelectivo("\nchequeo cantidad de terminos: \t",(cant==4));
	cout << "\n";

	delete(terminos);
}
